Como utilizar una pantalla ssd1306 con un microcontrolador Atmega168pa
Usaremos la siguiente librería: https://github.com/Sylaina/oled-display
Del repositorio necesitamos los siguientes archivos:
Dentro del archivo lcd.h tenemos que configurar las siguientes constantes:
Principalmente sería, indicar el protocolo, el tipo de pantalla y el modo de la pantalla.
En nuestro caso solo tenemos que cambiar el tipo de pantalla para indicar SSD1306 en vez de SH1106, el protoclor está bien el I2C y el modo está bien el TEXTMODE
NOTA: Con el microcontrolador Atmega168pa no podemos usar el GRAPHICMODE ya que solo tiene 1KB de RAM y la librería requiere de 1026 bytes (mas lo que use el programa), por lo tanto la memoria es insuficiente.
Para utilizar la pantalla y escribir algunos caracteres lo hacemos así:
#include "lcd.h"
int main(void){
lcd_init(LCD_DISP_ON);
lcd_puts("Hello World");
lcd_gotoxy(0,2);
lcd_charMode(DOUBLESIZE);
lcd_puts("GRANDE");
while(1){}
return 0;
}
El resultado se ve así:
Para conectar la pantalla ssd1306 tenemos que hacer las siguientes conexiones:
El circuito es tal que así:
AVR | microcontrolador | OLED screen | ssd1306